Speculative Subword Register Allocation in Embedded Processors
نویسندگان
چکیده
Multimedia and network processing applications make extensive use of subword data. Since registers are capable of holding a full data word, when a subword variable is assigned a register only part of the register is used. We propose an instruction set extension to the ARM embedded processor which allows two data items to reside in a register as long as each of them can be stored in 16 bits. The instructions are used by the register allocator to speculatively move the value of an otherwise spilled variable into a register which has already been assigned to another variable. The move is speculative because it only succeeds if the two values (value already present in the register and the value being moved into the register) can be simultaneously held in the register using 16 bits each. When this value is reloaded for further use, an attempt is first made to retrieve the value from its speculatively assigned register. If this attempt succeeds, load from memory is avoided. On an average our technique avoids 47% of dynamic reloads caused by spills.
منابع مشابه
Research Proposal: Register Allocation for Irregular Architectures
Register allocation is one of the most important optimizations a compiler performs and is becoming all the more important as the gap between processor speeds and memory access times widens. Correspondingly, a lot of effort has been spent attempting to improve traditional allocators. However, most of these attempts dealt with regular, RISC-like architectures. Published attempts to make algorithm...
متن کاملPractical Extended Register Allocation 8 Application to Speculative Execution 9
This thesis describes work done in two areas of compilation support for superscalar processors; register allocation and instruction scheduling. Chapter 1 describes an approach to register allocation for superscalar processors that supports dynamic and speculative out-of-order execution of instructions and guarantees precise interrupts without expensive hardware for managing register usage and m...
متن کاملCompilation Support for Superscalar Processors
This thesis describes work done in two areas of compilation support for superscalar processors; register allocation and instruction scheduling. Chapter 1 describes an approach to register allocation for superscalar processors that supports dynamic and speculative out-of-order execution of instructions and guarantees precise interrupts without expensive hardware for managing register usage and m...
متن کاملA Register Allocation Framework for Banked Register Files with Access Constraints
Banked register file has been proposed to reduce die area, power consumption, and access time. Some embedded processors, e.g. Intel’s IXP network processors, adopt this organization. However, they expose some access constraints in ISA, which complicates the design of register allocation. In this paper, we present a register allocation framework for banked register files with access constraints ...
متن کامل